﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DevExpress.Xpo;
using Zero.POCO.FiltreEnumeration;

namespace Zero.DataLayer.Donnees
{
    public class XpoFilter: XPBaseObject
    {


        public XpoFilter()
            : base()
        {
            // This constructor is used when an object is loaded from a persistent storage.
            // Do not place any code here.
        }

        public XpoFilter(Session session)
            : base(session)
        {
            // This constructor is used when an object is loaded from a persistent storage.
            // Do not place any code here.
        }


        
        private Guid _Oid;
        [Key]
        public Guid Oid
        {
            get { return _Oid; }
            set { SetPropertyValue("Oid", ref _Oid, value); }
        }



        private string _Nom;
        public string Nom
        {
            get { return _Nom; }
            set { SetPropertyValue("Nom", ref _Nom, value); }
        }



        private int _ageMin;
        public int ageMin
        {
            get { return _ageMin; }
            set { SetPropertyValue("ageMin", ref _ageMin, value); }
        }



        private int _ageMax;
        public int ageMax
        {
            get { return _ageMax; }
            set { SetPropertyValue("ageMax", ref _ageMax, value); }
        }


        private int _CSEs;
        public int CSEs
        {
            get { return _CSEs; }
            set { SetPropertyValue("CSEs", ref _CSEs, value); }
        }



        private int _CSPs;
        public int CSPs
        {
            get { return _CSPs; }
            set { SetPropertyValue("CSPs", ref _CSPs, value); }
        }


        private int _Representativite;
        public int Representativite
        {
            get { return _Representativite; }
            set { SetPropertyValue("Representativite", ref _Representativite, value); }
        }

        private int _Equipement;
        public int Equipement
        {
            get { return _Equipement; }
            set { SetPropertyValue("Equipement", ref _Equipement, value); }
        }


        private int _Genre;
        public int Genre
        {
            get { return _Genre; }
            set { SetPropertyValue("Genre", ref _Genre, value); }
        }


        private int _Habitat;
        public int Habitat
        {
            get { return _Habitat; }
            set { SetPropertyValue("Habitat", ref _Habitat, value); }
        }


        private int _NbChambre;
        public int NbChambre
        {
            get { return _NbChambre; }
            set { SetPropertyValue("NbChambre", ref _NbChambre, value); }
        }




        private int _NbVoiture;
        public int NbVoiture
        {
            get { return _NbVoiture; }
            set { SetPropertyValue("NbVoiture", ref _NbVoiture, value); }
        }


        private int _NiveauInstruction;
        public int NiveauInstruction
        {
            get { return _NiveauInstruction; }
            set { SetPropertyValue("NiveauInstruction", ref _NiveauInstruction, value); }
        }


        private int _RevenuTotalFoyer;
        public int RevenuTotalFoyer
        {
            get { return _RevenuTotalFoyer; }
            set { SetPropertyValue("RevenuTotalFoyer", ref _RevenuTotalFoyer, value); }
        }



        private int _SituationMatrimonial;
        public int SituationMatrimonial
        {
            get { return _SituationMatrimonial; }
            set { SetPropertyValue("SituationMatrimonial", ref _SituationMatrimonial, value); }
        }


        private int _StatutFamiliale;
        public int StatutFamiliale
        {
            get { return _StatutFamiliale; }
            set { SetPropertyValue("StatutFamiliale", ref _StatutFamiliale, value); }
        }


        private int _TailleFoyer;
        public int TailleFoyer
        {
            get { return _TailleFoyer; }
            set { SetPropertyValue("TailleFoyer", ref _TailleFoyer, value); }
        }



        private int _TypeHabitation;
        public int TypeHabitation
        {
            get { return _TypeHabitation; }
            set { SetPropertyValue("TypeHabitation", ref _TypeHabitation, value); }
        }


        [Aggregated, Association("XpoCompaign-XpoFilter")]
        public XPCollection<XpoCompaign> XpoCompaigns
        {
            get { return GetCollection<XpoCompaign>("XpoCompaigns"); }
        }
    }
}
